package com.menqui.localizame.Sms;

import java.util.List;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.telephony.SmsManager;
import android.util.Log;

public class EnviarSms {
	private final String LOG_TAG = getClass().toString();

	private Long movil = 0L;
	private Activity actividad = null;
	private Context context = null;
	private Location datosGps = null;

	public EnviarSms(Context context, Activity actividad, Long movil, Location datosGps) {
		this.movil = movil;
		this.actividad = actividad;
		this.context = context;
		this.datosGps = datosGps;
	}

	public boolean enviarMensajeAyuda() {
		if (esPermitidoEnviar()) {
			String mensaje ="SOS." +
				"\n Lat: " + String.valueOf(datosGps.getLatitude()) +
				"\n Lng: " + String.valueOf(datosGps.getLongitude()) +
				"\n Prc: " + String.valueOf(datosGps.getAccuracy());

			try {
				SmsManager sms = SmsManager.getDefault();
				List<String> messages = sms.divideMessage(mensaje);
				for (String message : messages) {
                    sms.sendTextMessage(movil.toString(), null, message, PendingIntent.getBroadcast(
                            context , 0, new Intent(Intent.ACTION_SEND), 0), null);
                }
				return true;
			} catch (Exception e) {
				Log.e(LOG_TAG, "Error al enviar los datos" + e.getLocalizedMessage());
				return false;
			}
		}

		return false;
	}

	public boolean esPermitidoEnviar() {
//		if (! actividad.getIntent().hasExtra(SMS_RECIPIENT_EXTRA))  {
//			return false;
//		}
		if (movil == 0L) {
			return false;
		}
		if (movil.toString().length()< 9) {
			return false;
		}
		if (datosGps == null) {
			return false;
		}
		return true;
	}
	public Long getMovil() {
		return movil;
	}

	public void setMovil(Long movil) {
		this.movil = movil;
	}

}
